package cn.fl.spl.transform;

import cn.cmm.base.framework.utils.CollectionUtils;
import cn.fl.spl.vo.SplRelOpLogVO;
import fl.spl.facade.store.dto.SplRelOpLogDTO;

import java.util.ArrayList;
import java.util.List;


/**
 * @Description: 供应商相关操作日志记录表 转换器
 * @Description: VO是客户端传递数据到服务端进行转换的数据 
 * @Description: VO转换数据变成DTO传递到服务端 
 * @Description: VO不能在服务端出现
 */
public class SplRelOpLogVOTransform {


	/**
	 * DTO 转  VO
	 * @param dto SplRelOpLogDTO
	 * @return SplRelOpLogVO
	 */
	public static SplRelOpLogVO toVO(SplRelOpLogDTO dto) {
		SplRelOpLogVO  vo = null;
		if (dto != null) { 
			vo = new SplRelOpLogVO();
			vo.setId(dto.getId());
			vo.setDataId(dto.getDataId());//业务数据主键
            vo.setDataNm(dto.getDataNm());
			vo.setBizTypCd(dto.getBizTypCd());//业务数据类型("SPL"：供应商、"STORE"：店铺、"TREND"：文章动态、“VEHLIB”：车型库、“VEHSRC”：车源)
			vo.setOpTypCd(dto.getOpTypCd());//操作类型("ADD":保存、“MDF”：修改、“DEL”：删除、“UPSHELF”:上架、“DOWNSHELF”:下架)
			vo.setOpDesc(dto.getOpDesc());//操作描述
			vo.setRenewId(dto.getRenewId());//关联ID
			vo.setIsDel(dto.getIsDel());//是否删除(0:否，1:是)
			vo.setIsValid(dto.getIsValid());//是否有效(0:否，1:是)
			vo.setIsNew(dto.getIsNew());//记录状态(0：旧数据，1：新数据)
			vo.setOpSource(dto.getOpSource());//操作来源(渠道code)
			vo.setIsWarn(dto.getIsWarn());//是否预警（0:解除预警，1:持续预警）
			vo.setIsRiskSign(dto.getIsRiskSign());//是否风险标记（0:否，1:是）
			vo.setSignDesc(dto.getSignDesc());//标记原因（1:顶名购买，2:团单拆单，3:老赖，4:诈骗，5:法律纠纷，6:他人运营，7:私下转让，8:代收代付，99:其他  等 [SPL0052]）

			vo.setCrtTm(dto.getCrtTm());//创建时间
			vo.setCrtUsrId(dto.getCrtUsrId());//创建人
			vo.setCrtUsrName(dto.getCrtUsrName());//创建人
			vo.setMdfTm(dto.getMdfTm());//修改时间
			vo.setMdfUsrId(dto.getMdfUsrId());//修改人
		}
		return vo;
	}

	/**
	 * VO 转 DTO
	 * @param vo SplRelOpLogVO
	 * @return SplRelOpLogDTO
	 */
	public static SplRelOpLogDTO toDTO(SplRelOpLogVO vo) {
		SplRelOpLogDTO dto = null;
		if (vo != null) {
			dto = new SplRelOpLogDTO();
			dto.setId(vo.getId());
			dto.setDataId(vo.getDataId());//业务数据主键
            dto.setDataNm(vo.getDataNm());
			dto.setBizTypCd(vo.getBizTypCd());//业务数据类型("SPL"：供应商、"STORE"：店铺、"TREND"：文章动态、“VEHLIB”：车型库、“VEHSRC”：车源)
			dto.setOpTypCd(vo.getOpTypCd());//操作类型("ADD":保存、“MDF”：修改、“DEL”：删除、“UPSHELF”:上架、“DOWNSHELF”:下架)
			dto.setOpDesc(vo.getOpDesc());//操作描述
			dto.setRenewId(vo.getRenewId());//关联ID
			dto.setIsDel(vo.getIsDel());//是否删除(0:否，1:是)
			dto.setIsValid(vo.getIsValid());//是否有效(0:否，1:是)
			dto.setIsNew(vo.getIsNew());//记录状态(0：旧数据，1：新数据)
			dto.setOpSource(vo.getOpSource());//操作来源(渠道code)
			dto.setIsWarn(vo.getIsWarn());//是否预警（0:解除预警，1:持续预警）
			dto.setIsRiskSign(vo.getIsRiskSign());//是否风险标记（0:否，1:是）
			dto.setSignDesc(vo.getSignDesc());//标记原因（1:顶名购买，2:团单拆单，3:老赖，4:诈骗，5:法律纠纷，6:他人运营，7:私下转让，8:代收代付，99:其他  等 [SPL0052]）

			dto.setCrtTm(vo.getCrtTm());//创建时间
			dto.setCrtUsrId(vo.getCrtUsrId());//创建人
			dto.setCrtUsrName(vo.getCrtUsrName());//创建人
			dto.setMdfTm(vo.getMdfTm());//修改时间
			dto.setMdfUsrId(vo.getMdfUsrId());//修改人
		}
		return dto;
	}

	 /**
	  * DTO集合 转 VO集合
	  * @param list List<SplRelOpLogDTO>
	  * @return List<SplRelOpLogVO>
	  */
	 public static List<SplRelOpLogVO> toVOList(List<SplRelOpLogDTO> list) {
		 List<SplRelOpLogVO>  voList = new ArrayList<SplRelOpLogVO>();
		 if(CollectionUtils.isNotEmpty(list)){
			 for (SplRelOpLogDTO dto : list) {
				 voList.add(toVO(dto));
			 }
		 }
		 return voList;
	 }

	 /**
	  * VO集合 转 DTO集合
	  * @param list List<SplRelOpLogVO>
	  * @return List<SplRelOpLogDTO>
	  */
	 public static List<SplRelOpLogDTO> toDTOList(List<SplRelOpLogVO> list) {
		 List<SplRelOpLogDTO>  dtoList = new ArrayList<SplRelOpLogDTO>();
		 if(CollectionUtils.isNotEmpty(list)){
			 for (SplRelOpLogVO vo : list) {
				 dtoList.add(toDTO(vo));
			 }
		 }
		 return dtoList;
	 }
}
